package org.bot.client.driver.api.client;

import com.alibaba.fastjson.JSONObject;

/**
 * @author 沧月
 * @create 0015 2023/9/15 14:39
 * @description <调用客户端执行流程>
 */
public interface ClientOpenApi {

    /**
     * @author: 沧月
     * @date: 0001 2023/10/1 21:23
     * @param: [flowData]
     * @return: boolean
     * @description: 流程执行器
     **/
    boolean execute(JSONObject flowData, String clientId);


    /**
     * 服务主动获取对应客户端的Event信息
     *
     * @param clientId
     * @return
     */
    JSONObject getEventList(String clientId);


    /**
     * 中断所有任务
     *
     * @return
     */
    default boolean interrupt() {
        return false;
    }


    /**
     * 兼容socket方式
     *
     * @return
     */
    default boolean interrupt(String clientId) {
        return this.interrupt();
    }
}
